1. Field of the Invention
The present invention relates generally to data storage systems, and more particularly to resource allocation and performance guarantees for a file server.
2. Background Art
An increasingly important attribute of a file server is its ability to provide certain performance guarantees for data delivery. Performance guarantees are especially important for the delivery of a video data stream for viewing by a human user. In this case, it is desired to deliver the video data stream in an isochronous fashion so that there are no interruptions when the video data stream is viewed in real-time from a terminal having minimal buffer capacity. A file server having the capability of isochronous delivery of video data is known as a video file server. Performance guarantees, however, are also important for less demanding multi-media applications to ensure graceful and fair degradation under high loading conditions.
It is known to use a scheduler and an admission control policy in a video file server to maintain performance guarantees for real-time streams in the presence of unpredictably varying non-real-time traffic while ensuring system stability during overloads. A suitable scheduler and admission control policy is described in K. K. Ramakrishnan et al., "Operating System Support for a Video-On-Demand File Service," Multimedia Systems, Vol. 3, Springer-Verlag, 1995, pp. 53-65, and Vaitzblit et al., U.S. Pat. No. 5,528,513 entitled "Scheduling and Admission Control Policy for a Continuous Media Server," incorporate herein by reference. The scheduler supports multiple classes of tasks with diverse performance requirements and allows for the co-existence of guaranteed real-time requests with sporadic and unsolicited requests. The scheduler allocates limited resources such as disk buffers to the tasks that are admitted for processing.
In practice it is difficult for a scheduler to base scheduling decisions on the actual level of resources available at any given time rather than a lower, more conservative level of resources known for certain to be available. The actual level of resources available at any given time may depend on a specific configuration of components within the file server rather than a more general configuration presumed by the scheduler, and may depend on specific routings of video streams rather than more general routings presumed by the scheduler. The specific configurations of components within the scheduler, for example, may change due to component upgrades or due to the continued use of sub-assemblies after failure of some components in the sub-assemblies.